<!DOCTYPE html>
<html>
<!-- Created by GNU Texinfo 7.1.1, https://www.gnu.org/software/texinfo/ -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<!-- This file documents the use of the GNU compilers.

Copyright © 1988-2023 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with the
Invariant Sections being "Funding Free Software", the Front-Cover
Texts being (a) (see below), and with the Back-Cover Texts being (b)
(see below).  A copy of the license is included in the section entitled
"GNU Free Documentation License".

(a) The FSF's Front-Cover Text is:

A GNU Manual

(b) The FSF's Back-Cover Text is:

You have freedom to copy and modify this GNU Manual, like GNU
     software.  Copies published by the Free Software Foundation raise
     funds for GNU development. -->
<title>MicroBlaze Options (Using the GNU Compiler Collection (GCC))</title>

<meta name="description" content="MicroBlaze Options (Using the GNU Compiler Collection (GCC))">
<meta name="keywords" content="MicroBlaze Options (Using the GNU Compiler Collection (GCC))">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta name="viewport" content="width=device-width,initial-scale=1">

<link href="index.html" rel="start" title="Top">
<link href="Indices.html" rel="index" title="Indices">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="Submodel-Options.html" rel="up" title="Submodel Options">
<link href="MIPS-Options.html" rel="next" title="MIPS Options">
<link href="MCore-Options.html" rel="prev" title="MCore Options">
<style type="text/css">
<!--
a.copiable-link {visibility: hidden; text-decoration: none; line-height: 0em}
kbd.key {font-style: normal}
span:hover a.copiable-link {visibility: visible}
-->
</style>


</head>

<body lang="en_US">
<div class="subsection-level-extent" id="MicroBlaze-Options">
<div class="nav-panel">
<p>
Next: <a href="MIPS-Options.html" accesskey="n" rel="next">MIPS Options</a>, Previous: <a href="MCore-Options.html" accesskey="p" rel="prev">MCore Options</a>, Up: <a href="Submodel-Options.html" accesskey="u" rel="up">Machine-Dependent Options</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Indices.html" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<h4 class="subsection" id="MicroBlaze-Options-1"><span>3.19.27 MicroBlaze Options<a class="copiable-link" href="#MicroBlaze-Options-1"> &para;</a></span></h4>
<a class="index-entry-id" id="index-MicroBlaze-Options"></a>

<dl class="table">
<dt><a id="index-msoft_002dfloat-7"></a><span><code class="code">-msoft-float</code><a class="copiable-link" href="#index-msoft_002dfloat-7"> &para;</a></span></dt>
<dd><p>Use software emulation for floating point (default).
</p>
</dd>
<dt><a id="index-mhard_002dfloat-3"></a><span><code class="code">-mhard-float</code><a class="copiable-link" href="#index-mhard_002dfloat-3"> &para;</a></span></dt>
<dd><p>Use hardware floating-point instructions.
</p>
</dd>
<dt><a id="index-mmemcpy-1"></a><span><code class="code">-mmemcpy</code><a class="copiable-link" href="#index-mmemcpy-1"> &para;</a></span></dt>
<dd><p>Do not optimize block moves, use <code class="code">memcpy</code>.
</p>
</dd>
<dt><a id="index-mno_002dclearbss"></a><span><code class="code">-mno-clearbss</code><a class="copiable-link" href="#index-mno_002dclearbss"> &para;</a></span></dt>
<dd><p>This option is deprecated.  Use <samp class="option">-fno-zero-initialized-in-bss</samp> instead.
</p>
</dd>
<dt><a id="index-mcpu_003d-3"></a><span><code class="code">-mcpu=<var class="var">cpu-type</var></code><a class="copiable-link" href="#index-mcpu_003d-3"> &para;</a></span></dt>
<dd><p>Use features of, and schedule code for, the given CPU.
Supported values are in the format &lsquo;<samp class="samp">v<var class="var">X</var>.<var class="var">YY</var>.<var class="var">Z</var></samp>&rsquo;,
where <var class="var">X</var> is a major version, <var class="var">YY</var> is the minor version, and
<var class="var">Z</var> is compatibility code.  Example values are &lsquo;<samp class="samp">v3.00.a</samp>&rsquo;,
&lsquo;<samp class="samp">v4.00.b</samp>&rsquo;, &lsquo;<samp class="samp">v5.00.a</samp>&rsquo;, &lsquo;<samp class="samp">v5.00.b</samp>&rsquo;, &lsquo;<samp class="samp">v6.00.a</samp>&rsquo;.
</p>
</dd>
<dt><a id="index-mxl_002dsoft_002dmul"></a><span><code class="code">-mxl-soft-mul</code><a class="copiable-link" href="#index-mxl_002dsoft_002dmul"> &para;</a></span></dt>
<dd><p>Use software multiply emulation (default).
</p>
</dd>
<dt><a id="index-mxl_002dsoft_002ddiv"></a><span><code class="code">-mxl-soft-div</code><a class="copiable-link" href="#index-mxl_002dsoft_002ddiv"> &para;</a></span></dt>
<dd><p>Use software emulation for divides (default).
</p>
</dd>
<dt><a id="index-mxl_002dbarrel_002dshift"></a><span><code class="code">-mxl-barrel-shift</code><a class="copiable-link" href="#index-mxl_002dbarrel_002dshift"> &para;</a></span></dt>
<dd><p>Use the hardware barrel shifter.
</p>
</dd>
<dt><a id="index-mxl_002dpattern_002dcompare"></a><span><code class="code">-mxl-pattern-compare</code><a class="copiable-link" href="#index-mxl_002dpattern_002dcompare"> &para;</a></span></dt>
<dd><p>Use pattern compare instructions.
</p>
</dd>
<dt><a id="index-msmall_002ddivides"></a><span><code class="code">-msmall-divides</code><a class="copiable-link" href="#index-msmall_002ddivides"> &para;</a></span></dt>
<dd><p>Use table lookup optimization for small signed integer divisions.
</p>
</dd>
<dt><a id="index-mxl_002dstack_002dcheck"></a><span><code class="code">-mxl-stack-check</code><a class="copiable-link" href="#index-mxl_002dstack_002dcheck"> &para;</a></span></dt>
<dd><p>This option is deprecated.  Use <samp class="option">-fstack-check</samp> instead.
</p>
</dd>
<dt><a id="index-mxl_002dgp_002dopt"></a><span><code class="code">-mxl-gp-opt</code><a class="copiable-link" href="#index-mxl_002dgp_002dopt"> &para;</a></span></dt>
<dd><p>Use GP-relative <code class="code">.sdata</code>/<code class="code">.sbss</code> sections.
</p>
</dd>
<dt><a id="index-mxl_002dmultiply_002dhigh"></a><span><code class="code">-mxl-multiply-high</code><a class="copiable-link" href="#index-mxl_002dmultiply_002dhigh"> &para;</a></span></dt>
<dd><p>Use multiply high instructions for high part of 32x32 multiply.
</p>
</dd>
<dt><a id="index-mxl_002dfloat_002dconvert"></a><span><code class="code">-mxl-float-convert</code><a class="copiable-link" href="#index-mxl_002dfloat_002dconvert"> &para;</a></span></dt>
<dd><p>Use hardware floating-point conversion instructions.
</p>
</dd>
<dt><a id="index-mxl_002dfloat_002dsqrt"></a><span><code class="code">-mxl-float-sqrt</code><a class="copiable-link" href="#index-mxl_002dfloat_002dsqrt"> &para;</a></span></dt>
<dd><p>Use hardware floating-point square root instruction.
</p>
</dd>
<dt><a id="index-mbig_002dendian-8"></a><span><code class="code">-mbig-endian</code><a class="copiable-link" href="#index-mbig_002dendian-8"> &para;</a></span></dt>
<dd><p>Generate code for a big-endian target.
</p>
</dd>
<dt><a id="index-mlittle_002dendian-8"></a><span><code class="code">-mlittle-endian</code><a class="copiable-link" href="#index-mlittle_002dendian-8"> &para;</a></span></dt>
<dd><p>Generate code for a little-endian target.
</p>
</dd>
<dt><a id="index-mxl_002dreorder"></a><span><code class="code">-mxl-reorder</code><a class="copiable-link" href="#index-mxl_002dreorder"> &para;</a></span></dt>
<dd><p>Use reorder instructions (swap and byte reversed load/store).
</p>
</dd>
<dt><code class="code">-mxl-mode-<var class="var">app-model</var></code></dt>
<dd><p>Select application model <var class="var">app-model</var>.  Valid models are
</p><dl class="table">
<dt>&lsquo;<samp class="samp">executable</samp>&rsquo;</dt>
<dd><p>normal executable (default), uses startup code <samp class="file">crt0.o</samp>.
</p>
</dd>
<dt>&lsquo;<samp class="samp">xmdstub</samp>&rsquo;</dt>
<dd><p>for use with Xilinx Microprocessor Debugger (XMD) based
software intrusive debug agent called xmdstub. This uses startup file
<samp class="file">crt1.o</samp> and sets the start address of the program to 0x800.
</p>
</dd>
<dt>&lsquo;<samp class="samp">bootstrap</samp>&rsquo;</dt>
<dd><p>for applications that are loaded using a bootloader.
This model uses startup file <samp class="file">crt2.o</samp> which does not contain a processor
reset vector handler. This is suitable for transferring control on a
processor reset to the bootloader rather than the application.
</p>
</dd>
<dt>&lsquo;<samp class="samp">novectors</samp>&rsquo;</dt>
<dd><p>for applications that do not require any of the
MicroBlaze vectors. This option may be useful for applications running
within a monitoring application. This model uses <samp class="file">crt3.o</samp> as a startup file.
</p></dd>
</dl>

<p>Option <samp class="option">-xl-mode-<var class="var">app-model</var></samp> is a deprecated alias for
<samp class="option">-mxl-mode-<var class="var">app-model</var></samp>.
</p>
</dd>
<dt><a id="index-mpic_002ddata_002dis_002dtext_002drelative-1"></a><span><code class="code">-mpic-data-is-text-relative</code><a class="copiable-link" href="#index-mpic_002ddata_002dis_002dtext_002drelative-1"> &para;</a></span></dt>
<dd><p>Assume that the displacement between the text and data segments is fixed
at static link time.  This allows data to be referenced by offset from start of
text address instead of GOT since PC-relative addressing is not supported.
</p>
</dd>
</dl>

</div>
<hr>
<div class="nav-panel">
<p>
Next: <a href="MIPS-Options.html">MIPS Options</a>, Previous: <a href="MCore-Options.html">MCore Options</a>, Up: <a href="Submodel-Options.html">Machine-Dependent Options</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Indices.html" title="Index" rel="index">Index</a>]</p>
</div>



</body>
</html>
